package config

import (
	"os"
	"store/model"

	"github.com/cihub/seelog"
	jsoniter "github.com/json-iterator/go"
)

var globalConfig model.GlobalConfig

// InitConfig 读取配置信息,从环境变量中读取
func InitConfig() {
	configEnv := os.Getenv("config")
	var json = jsoniter.ConfigCompatibleWithStandardLibrary
	err := json.UnmarshalFromString(configEnv, &globalConfig)
	if nil != err {
		msg := "读取配置失败:" + err.Error()
		seelog.Error(msg)
		panic(msg)
	} else {
		if !globalConfig.Check() {
			msg := "配置文件信息错误"
			seelog.Error(msg)
			panic(msg)
		}
	}
}

// GetConfig 获取配置信息
func GetConfig() model.GlobalConfig {
	return globalConfig
}
